esc to dismiss
rechercher Rechercher
x

Paramètres de recherche et de pagination

Les smartflows permettent de traiter la donnée, la transformer et la récupérer pour pouvoir l'utiliser:

Sauf en cas d'export de données, quand on créé un flux de données à partir d'un base de donnée ou à travers un API, il est déconseillé de récupérer toute les données dans une seule requête mais plutôt de segmenter les données en petit paquets.

Cela permet de limiter la taille de données transférée par requête et améliore nettement les performance de l'application ou l'API qu'on est en train de modéliser.

Il faut malgré tout laisser la possibilité de récupérer toutes les données à travers un système de pagination et recherche.

Sur Vision, cette notion est importante quand on conçoit un smartflow qui récupère de la donnée (directement depuis la base Vision, en interrogeant une API externe ou en se connectant à une Base de données externe).

Dans cette partie, nous allons voir ensemble comment utiliser la pagination dans un smartflow dans Vision.
Dans les exemples présentés ici, nous allons récupérer les données d'un modèle User:

Il faut implémenter la base de données avec quelques utilisateurs.

Créer une API avec recherche et pagination

Dans cette exemple, nous allons créer une route GET avec Vision qui va nous permettre de récupérer les données avec les querystring:

  • search : pour filtrer les données avec une recherche textuelle
  • page: paginer les données
  • limit: pour limiter le nombre de données récupéré

Pour faire ça il faut tout d'abord créer une API en spécifiant les paramètres précédents dans l'inspecteur dans la section paramètre de requête :

Quand on déclare des paramètres de requêtes, ces derniers deviennent accessible en tant que variable dans le smartflow

On peut connecter ces paramètres sur le nœud recherche:

Une fois le smartflow publié, on peut appeler la route avec postman ou avec curl :

curl https://votre-url-vision/api/connectors/dad_jokes?search=&page=&limit=

Utiliser search-parameters

Dans l'usage interne, quand le smartflow sera appelé via un workflow (Liste ou Formulaire) ou encore dans une application (Widget Liste ou Widget Tableau), il est préférable d'utiliser le paramètre search-parameters pour simplifier l'utilisation.

En plus de contenir les paramètres de pagination et de recherche globale, il contient également les filtres et les tris par colonnes (injecté par le Widget Tableau).

Pour cela, il faut ajouter le paramètre search-parameters (Paramètres de Recherche) dans la section Body

Brancher ensuite ce paramètre au nœud de recherche

x